1. Field of Invention
The present invention pertains to the field of distributed systems. More particularly, this invention relates to a distributed control system architecture which is based on synchronized clocks.
2. Art Background
Distributed control systems are commonly arranged as a collection of nodes which are interconnected via one or more communication links. Any one or more of the nodes may perform a sensor function or an actuator function or a control function or combination thereof for one or more associated applications in the control system.
The coordination of control functions in a distributed control system usually includes the communication of events among the nodes. These events include sampling events such as when a node with an attached sensor obtains a data sample from the attached sensor. These events also include events such as when a node that implements a control process changes the state of its control process.
Such events when communicated among the nodes of a distributed control system may cause other events to occur. For example, a sampling event when communicated to a node that implements a control process may cause a change of state of the control process. In addition, the nodes of a distributed control system typically communicate to other nodes that actions should be taken. For example, a node with an attached actuator may be instructed that a control value should be applied to the attached actuator.
Such events and communications of actions to be taken are typically communicated among the nodes of a distributed control using messages which are transferred via the communication links that connect the nodes. For example, a first node usually causes a second node to perform a particular action by transferring a message to the second node via the communication link that interconnects the first and second nodes. The message typically contains information that when interpreted by the second node causes it to perform the particular action.
In a typically prior distributed control system, the time at which the second node performs the particular action depends on the time at which the message specifying the particular action is received by the second node and the time taken by the second node to interpret the message. Typically, an inaccuracy in the timing of message transfer between the first and second nodes can introduce uncertainty in the time at which the particular action is performed by the second node. For example, collisions may occur on the communication link or the communication link may include gateways or other devices that introduce variation or jitter in the timing of message transfer between the first and second nodes. In addition, the time taken by the second node to interpret the message specifying the particular action can vary depending upon other activities that may be underway in the second node when the message is received. Unfortunately, these uncertainties in the actual time that specified actions are taken can cause inaccuracy in the coordination of control functions in a distributed control system.
A distributed system is disclosed with an architecture based on synchronized clocks that provides accurate coordination of control functions. The distributed system includes a set of nodes coupled to a communication link. Each node has a clock which holds a real-world time. The nodes participate in a synchronization protocol on the communication link for synchronizing the real-world time in each clock. The architecture of the distributed system is such that the synchronization of control functionality in the distributed system is based upon the real-world time in the clocks. A variety of examples of applications for this architecture are set forth.
Other features and advantages of the present invention will be apparent from the detailed description that follows.